TD 8 : Modélisation
Modélisation conceptuelle avancée
L3 MIASHS |
| Année 2025 |
L’objectif de cette séance est de compléter des diagrammes E/A avec les outils vus en cours :
- entités faibles,
- spécialisation et contraintes de spécialisation,
- contraintes d’intégrité référentielle,
- contraintes inter-association.
Exercice (Supermarché : modèle miniature)
On étudie une partie du SI d’un supermarché concernant la mise en rayon des produits et on a collecté les informations suivantes :
- Chaque produit a un nom et un prix et appartient à une catégorie.
- Le supermarché a plusieurs rayons, un rayon étant caractérisé par un étage et un numéro de rangée.
- Les produits d’une même catégorie sont placés dans le même rayon, mais un rayon peut contenir des produits de plusieurs catégories.
Concevoir un diagramme E/A de ce SI. Vérifier que ce diagramme modélise toutes les informations fournies.
Faut-il compléter le diagramme E/A ?
Exercice (Tournois)
Lors du dernier TP, vous avez étudié un SI portant sur des tournois.
Le diagramme E/A proposé est le suivant :
Il est décidé d’utiliser pour les identifiants des matchs la méthode suivante : pour un tournoi et un type de match (simple F, simple H, etc.) le match n°1 est la finale, les n°2 et 3 sont les demi-finales, etc.
Comment faut-il modifier le modèle ?
Y-a-t-il des contraintes d’intégrité fonctionnelle (CIF) ?
Pour rappel, les CIF concernent les liaisons de cardinalité maximale \(n\) dans les associations ternaires.
- si parmi les occurences de l’association \(A\), on a une dépendance fonctionnelle \(E_1 \rightarrow E_2\), on dit qu’on a une CIF \(E_1 \rightarrow E_2\) par rapport à \(A\).
- si parmi les occurences de l’association \(A\), on a une dépendance fonctionnelle \((E_1, E_2) \rightarrow E_3\), on dit qu’on a une CIF \((E_1,E_2) \rightarrow E_3\) par rapport à \(A\).
Par exemple, si on supposait qu’un joueur ne peut pas avoir deux entraineurs en même temps (ce qui n’est pas dit dans l’énoncé), on aurait une CIF (JOUEUR, DATE) \(\rightarrow\) ENTRAINEUR par rapport à l’association “est entrainé par”.
En reprenant la représentation du cours, on écrit :
Mais pour les CIF du type \((E_1, E_2) \rightarrow E_3\), le formalisme suivant est lisible :
Cette CIF dit la chose suivante : deux entraineurs différents ne peuvent pas commencer à entrainer un même joueur à la même date.
Est-ce que cette CIF suffit à décrire la totalité de la contrainte ? Que faut-il vérifier au-delà ?
Pour la composition des matchs, on pouvait envisager trois solutions :
- Première solution : Une association «participer» indique les compositions des matches. Une association «gagner» indique le ou les gagnants (double).
- Seconde solution : une association «participer» portant une propriété prenant la valeur vrai ou faux selon que le joueur a gagné ou non.
- Troisième solution : deux associations «gagner» et «perdre».
Si on choisit la première ou la troisième solution, quelle contrainte faut-il ajouter ?
Parmi les trois solutions, lesquelles permettent de décrire complètement le SI ?
Pourquoi a-t-on choisi la deuxième solution ?
Dictionnaire des données
Exercice (Location de voitures)
On étudie une partie du SI d’une société de location de véhicules.
La société gère un parc de voiture. On a reccueilli les informations suivantes :
Chaque véhicule a une plaque d’immatriculation, une couleur, une marque et un modèle.
Un modèle a un nom, une marque, un nombre de sièges, un volume de chargement.
Chaque véhicule appartient obligatoirement à une et une seule catégorie qui détermine le tarif de la location.
Tous les véhicules du même modèle appartiennent à la même catégorie.
Ecrire le diagramme des dépendances fonctionnelles de ce SI (Voir la correction du TP précédent)
A l’aide du diagramme précédent, écrire le diagramme E/A de ce SI.
test
On veut maintenant distinguer les véhicules disponibles des véhicules en location :
- Pour les véhicules disponibles, on enregistre l’agence où le véhicule est disponible. Une agence a un numéro, une adresse, un numéro de téléphone, un email…
- Pour les véhicules en location, on enregistre le client, la date et la durée de la location. Un client a un numéro, une adresse, un numéro de téléphone, un email…
Compléter le diagramme E/A pour modéliser cette partie du SI.
Faut-il ajouter des contraintes ?
Maintenant, on s’intéresse à l’entretien des véhicules :
certains véhicules sont possédés par la société et sont entretenus chacun par un unique garage. Chaque garage a un numéro, un n°SIRET, une adresse, un IBAN, etc. On ne conserve pas l’historique des garages qui ont entretenu le véhicule.
les autres véhicules sont en leasing auprès de sociétés spécialisées dans ce type de location. Chaque société a un numéro, un n°SIRET, une adresse, un IBAN, etc.
- certains de ces véhicules sont entretenus par la société de leasing.
- les autres sont entretenus par la société de location dont on étudie le SI, selon le même principe que pour les véhicules qui lui appartiennent.
On essaie de modéliser cette partie du SI uniquement avec les entités VEHICULE, GARAGE, SOCIETE DE LEASING.
Proposer une ou des modélisations E/A et utiliser des contraintes pour décrire complètement le SI décrit.
Comme les solutions précédentes ne sont pas très satisfaisante, on décide d’utiliser des spécialisations de l’entité VEHICULE.
Proposer un nouveau modèle E/A et compléter le pour décrire complètement le SI.